package com.itheima.d8_thread_pool;

import java.util.concurrent.Executors;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;

/*
    目标：掌握线程池的创建。
    需求 : 使用线程池处理Runnable类型任务
 */
public class ThreadPoolTest2 {
    public static void main(String[] args) {
        ThreadPoolExecutor executor = new ThreadPoolExecutor(3, 10,
                60, TimeUnit.SECONDS,
                new LinkedBlockingQueue<>(20), Executors.defaultThreadFactory(),
                new ThreadPoolExecutor.DiscardOldestPolicy());

        for (int i = 0; i <= 31; i++) {
            executor.submit(new Student("小明" + i));
        }

    }
}


class Student implements Runnable {
    private String name;

    public Student(String name) {
        this.name = name;
    }

    @Override
    public void run() {
        System.out.println(Thread.currentThread().getName() + " 教" + name + "学游泳");
    }
}